package com.ccp.dev.qbdms.dao;

import com.ccp.dev.qbdms.model.SysReportMaster;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

@Mapper
public interface SysReportMasterDao {
    /**
     * 添加上报主表信息
     * @param sysReportMaster 上报主表对象
     * @return 返回数据条数
     */
    int saveReportMaster(SysReportMaster sysReportMaster);

    /**
     * 三级单位流程启动后修改业务表中状态
     * @param tableName
     * @param ids
     * @param status
     * @return
     */
    int updateBusinessStatusPlant(@Param("tableName") String tableName, @Param("ids") String[] ids, @Param("status") String status);

    /**
     * 二级单位流程启动后修改业务表状态
     * @param tableName
     * @param ids
     * @param status
     * @return
     */
    int updateBusinessStatusHospital(@Param("tableName") String tableName, @Param("ids") String[] ids, @Param("status") String status);

    /**
     * 根据主键获取TableName
     * @param businessKey
     * @return
     */
    String getTableNameByBusinessKey(@Param("businessKey") String businessKey);

    /**
     * 根据主键获取className
     * @param businessKey
     * @return
     */
    String getClassNameById(@Param("businessKey") String businessKey);

    /**
     * 获取所有业务id
     * @param businessKey
     * @return
     */
    String getAllBusinessIds(@Param("businessKey") String businessKey);

    /**
     * 上报时修改业务表中fillDeptHospital与fillDeptHospitalId字段值为当前登录组织信息
     * @param tableName
     * @param ids
     * @param fillDeptHospital
     * @param fillDeptHospitalId
     * @return
     */
    int updateBusinessColumnsHospitalByDataIds(@Param("tableName") String tableName, @Param("ids") String[] ids, @Param("fillDeptHospital")String fillDeptHospital, @Param("fillDeptHospitalId")String fillDeptHospitalId, @Param("reportDate")Date reportDate);
}
